|
 |
Applicazioni Software |
PROGETTO n° 11 - 5/6
[124 di 166] |
 | La chiave del progetto è la procedura
Out16bit, dedicata alla gestione dell'interfaccia
hardware, costituita dalle 2
memorie
74LS374,
e descritta nella seguente casella di testo: |
 | La parte iniziale (non strettamente necessaria...) mette a
video (in forma esadecimale) il valore dei 16 bit che stanno per essere
memorizzati sulle 2 memorie; la parte
successiva è invece quella operativa. |
 | Per comprendere meglio i concetti che descriverò tra poco
può essere utile (se non l'hai già fatto ) aprire una seconda
pagina con lo schema elettrico del progetto. |
 | In prima istanza il byte meno
significativo (predisposto in AL)
viene memorizzato sul
Registro d'uscita 0378H/0278H
(PRNdato) e reso disponibile sulle linee
corrispondenti, i
pin 2÷pin
9
del
connettore della porta
parallela; immediatamente dopo segue la creazione
dei sincronismi di memorizzazione:
 | il bit0
del
Registro di controllo 037AH/027AH
è forzato a 0, mentre il
bit1 mantiene il suo valore
1 |
 | con il gioco delle inversioni
interne ciò si traduce nella presenza di un
fronte attivo (di salita)
sulla linea di clock della
prima memoria (n°0),
mente la rimanente ha ancora la linea di clock bassa
(inattiva) |
 | questo basta per trasferire in uscita alla
memoria n°0
il dato a 8 bit (=AL) presente
sui
pin 2÷pin
9 della parallela |
 | subito dopo entrambi i
bit1, bit0
del
Registro 037AH/027AH
sono riportati entrambi a
1, per riportare tutte le memorie
in attesa |
|
 | La fase successiva è perfettamente duale per il
byte più significativo (disponibile in
AH), che viene memorizzato a sua volta sui
pin 2÷pin 9
del connettore della parallela; anche la
creazione dei sincronismi di memorizzazione è del tutto simile:
 | il bit1
del
Registro 037AH/027AH
è forzato a 0, producendo ora un
fronte attivo (di
salita) sulla linea di clock
della seconda memoria (n°1),
copiando così il byte presente sulle
linee dato della parallela
in uscita alla memoria
n°1 |
 | il
bit0 mantiene invece il suo valore
1, lasciando ancora
bassa (inattiva) la linea di clock
dell'altra memoria |
 | subito dopo anche il bit0
viene riportato a
1, per riportare entrambe le memorie
in attesa |
|
©
2001-2006 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|